//
//  ZLPullMenuBaseConfig.m
//  ZLPullMenu
//
//  Created by 科大 on 2024/5/29.
//

#import "ZLPullMenuConfig.h"

@implementation ZLPullMenuBaseConfig
+ (instancetype)configWithFont:(UIFont *)font textColor:(UIColor *)textColor {
    ZLPullMenuBaseConfig *config = [[ZLPullMenuBaseConfig alloc] init];
    config.font = font;
    config.textColor = textColor;
    return config;
}
+ (instancetype)defaultConfig {
    return nil;
}

@end
@implementation ZLPullMenuConfig
+ (instancetype)defaultConfig {
    return [self configWithFont:[UIFont systemFontOfSize:14]
                   selectedFont:[UIFont systemFontOfSize:14 weight:UIFontWeightBold]
                      textColor:[UIColor colorWithWhite:0.4 alpha:1] 
              textSelectedColor:[UIColor colorWithWhite:0.15 alpha:1]
                     arrowColor:[UIColor colorWithWhite:0.4 alpha:1]
             arrowSelectedColor:[UIColor colorWithWhite:0.15 alpha:1]];
}
+ (instancetype)configWithFont:(UIFont *)font 
                  selectedFont:(UIFont *)selectedFont
                     textColor:(UIColor *)textColor
             textSelectedColor:(UIColor *)textSelectedColor 
                    arrowColor:(UIColor *)arrowColor
            arrowSelectedColor:(UIColor *)arrowSelectedColor {
    ZLPullMenuConfig *config = [[ZLPullMenuConfig alloc] init];
    config.font = font;
    config.textColor = textColor;
    config.selectedFont = selectedFont;
    config.arrowColor = arrowColor;
    config.arrowSelectedColor = arrowSelectedColor;
    config.textSelectedColor = textSelectedColor;
    return config;
}
@end
@implementation ZLPullMenuGroupConfig
+ (instancetype)defaultConfig {
    return [self configWithFont:[UIFont systemFontOfSize:14 weight:UIFontWeightBold] textColor:[UIColor blackColor]];
}
+ (instancetype)configWithFont:(UIFont *)font
                     textColor:(UIColor *)textColor {
    ZLPullMenuGroupConfig *config = [[ZLPullMenuGroupConfig alloc] init];
    config.font = font;
    config.textColor = textColor;
    return config;
}
@end
@implementation ZLPullMenuOptionpConfig
+ (instancetype)defaultConfig {
    return [self configWithFont:[UIFont systemFontOfSize:13]
                   selectedFont:[UIFont systemFontOfSize:13]
                      textColor:[UIColor colorWithRed:0.29 green:0.29 blue:0.29 alpha:1.00]
              textSelectedColor:[UIColor blackColor]
                backgroundColor:[UIColor colorWithRed:0.97 green:0.96 blue:0.96 alpha:1.00]
        backgroundSelectedColor:[UIColor colorWithRed:0.97 green:0.96 blue:0.96 alpha:1.00]
                    borderColor:[UIColor clearColor]
            borderSelectedColor:[UIColor blackColor]];
}
+ (instancetype)configWithFont:(UIFont *)font
                  selectedFont:(UIFont *)selectedFont
                     textColor:(UIColor *)textColor
             textSelectedColor:(UIColor *)textSelectedColor
               backgroundColor:(UIColor *)backgroundColor
       backgroundSelectedColor:(UIColor *)backgroundSelectedColor
                   borderColor:(UIColor *)borderColor
           borderSelectedColor:(UIColor *)borderSelectedColor {
    ZLPullMenuOptionpConfig *config = [[ZLPullMenuOptionpConfig alloc] init];
    config.font = font;
    config.textColor = textColor;
    config.selectedFont = selectedFont;
    config.textSelectedColor = textSelectedColor;
    config.backgroundColor = backgroundColor;
    config.backgroundSelectedColor = backgroundSelectedColor;
    config.borderColor = borderColor;
    config.borderSelectedColor = borderSelectedColor;
    return config;
}
@end
